import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  // 定义数据
  state: {
    // 任务数组
    taskList:[],
  },
  // 计算方法
  getters: {
    // 计算未完成的任务
    unFinished(state){
      let arr = state.taskList.filter((item) => {
        return item.status == false;
      })
      return arr.length;
    }
  },
  // 同步方法
  mutations: {
    addTask(state, payload) {//payload 要输入的参数
      if(payload){
        // 一个任务就是一个对象
        // taskList.length + 1 表示第几个任务   payload  输入框中输入的内容taskName
        let obj = { id: state.taskList.length + 1, name: payload, status: false }
        // 把任务追加到任务列表中
        state.taskList.push(obj)
      }
    },
    changeStatus(state, payload){
      //查找需要修改状态的那个任务对象
      var a = state.taskList.find((item) => {
        return item.id == payload.id
      });

      if (a) { //判断是否找到
        a.status = !a.status;
      }
    },

    deleteTask(state, payload) {
      state.taskList.splice(payload, 1)
    }
  },
  // 异步方法
  actions: {
  },
  modules: {
  }
})
